
         		 Cyclop's  

		C R A C K I N G   T U T O R 

              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~



Inhaltsverzeichnis:
~~~~~~~~~~~~~~~~~~~
	1.  Anvisiertes Opfer

	3.  Bentigte Tools

	4.  Messagebox aufschreiben

	5.  Disassemblieren
	
	6.  Hiew
	
	7.  Abschlusssatz



1. Anvisiertes Opfer
~~~~~~~~~~~~~~~~~~~

	Heute ist mal Giants dran. Isn ganz gutes Game, 
	mit dem Fehler, dass man bei jedem Spielstart 
	die CD einlegen muss :-(
	Und aus genau diesem Grund schreibe ich dieses Tutor.
	

3. Bentigte Tools
~~~~~~~~~~~~~~~~~~

	*W32Dasm
	*Hiew (oder anderen Hexeditor)


4.  Messagebox aufschreiben
~~~~~~~~~~~~~~~~~~~~~~~~~~~

	Also, dann wollen wir mal...
	
	1. Schritt: Giants Cd rausnehmen

	2. Schritt: Giants starten
	
	3. Schritt: Die kommende Meldung aufschreiben (oder 
		    als Alternative auch merken) 
		
	    ---Bitte legen sie Giants Cd1 ins Laufwerk...--- 
	
	
	So, das war ja noch nicht so schwer, oda? *g*



5.  Disassemblieren
~~~~~~~~~~~~~~~~~~~


	Dann die Giants.exe in den Disassembler laden und
	mal zwischendurch eine rauchen oder so.
	Fertig? Ok. 
	
	Jetzt schauen wir mal unter die String Data Refences
	und suchen den String der so heit wie die Meldung
	Etwa im unteren Drittel finden wir dann den String
	"Please put Giants CD #1 In Drive"
	Ist zwar nicht der den wir uns Aufgeschrieben haben,
	heit aber (fr unsere English-Genies) dasselbe.
	Doppelklick darauf und wir kommen zu der Stelle:




:004F417F E8FC6C0400		call 0053AE80
:004F4184 85C0			test eax, eax
:004F4186 7527			jne 004F41AF			<-Bsewicht

*References by a (U)ncontitional or (C)onditional Jump at Address:
 :004f4127


*Possible StringData Ref from Data Obj ->"ErrNeedCD1"

:004F4188 68844F5600		push 00564F84
:004F418D E85E960100 		call 0050D7F0
:004F4192 83C404		add esp, 00000004
:004F4195 3D844F5600		cmp eax, 00564D84
:004f419A 7505			jne 004d41A1

*Possible StringData from Data Obj ->"Please put Giants Cd #1 In Drive "
				   ->"and try again"



	Also, von dem String scrollen wir nach oben (wir wollen ja 
	wissen was VOR der Meldung geschieht) und schon bei
	:004F4186 werden wir fndig, den jne bedeutet soviel
	wie springe, wenn die CD nicht im Laufwerk ist zu der
	Fehlermeldung. 
	Jetzt den Offset (F4186) aufschreiben (oder auch merken...) und in
	Hiew gehen.


6. Hiew
~~~~~~~
	Was jetzt? 
	RIGHT! Das jne in jmp umwandeln (jmp= Springe immer)
	Giants.exe laden und mit -F4- decoden. 
	-F5- und den Offset eingeben und mit -F3-
	das 7527 mit EB27 berschreiben. Wenn ihr alles richtig gemacht, bzw
	ich keinen Fehler gemacht habe, dann msste jetzt das Game
	ohne Cd laufen :-))



7.  Abschluss Satz
~~~~~~~~~~~~~~~~~~
	
	Konstruktive Kritik, Anregungen, Beschwerden bitte an Cyclops_@gmx.de mailen!!
 	Je mehr Mails ich bekomme, desto besser ist :-))














